Added `-[NSArray validateAsPropertyList]` and `-[NSDictionary validateAsPropertyList...
[adiumx.git] / Plugins / Purple Service / ESPurpleDotMacAccount.m
blob16a83b1d520319e90a867427f558dcf21f515495
1 /* 
2  * Adium is the legal property of its developers, whose names are listed in the copyright file included
3  * with this source distribution.
4  * 
5  * This program is free software; you can redistribute it and/or modify it under the terms of the GNU
6  * General Public License as published by the Free Software Foundation; either version 2 of the License,
7  * or (at your option) any later version.
8  * 
9  * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
10  * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
11  * Public License for more details.
12  * 
13  * You should have received a copy of the GNU General Public License along with this program; if not,
14  * write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
15  */
17 #import "ESPurpleDotMacAccount.h"
19 @implementation ESPurpleDotMacAccount
21 - (const char *)purpleAccountName
23         NSString         *userNameWithMacDotCom;
25         if (([UID rangeOfString:@"@mac.com"
26                                         options:(NSCaseInsensitiveSearch | NSBackwardsSearch | NSAnchoredSearch)].location != NSNotFound)) {
27                 userNameWithMacDotCom = UID;
28         } else {
29                 userNameWithMacDotCom = [UID stringByAppendingString:@"@mac.com"];
30         }
31         
32         return [userNameWithMacDotCom UTF8String];
35 /*!
36  * @brief Set the spacing and capitilization of our formatted UID serverside (from CBPurpleOscarAccount)
37  *
38  * CBPurpleOscarAccount calls this to perform spacing/capitilization setting serverside.  This is not supported
39  * for .Mac accounts and will throw a SNAC error if attempted.  Override the method to perform no action for .Mac.
40  */
41 - (void)setFormattedUID {};
43 /*!
44  * @brief A formatted UID which may include additional necessary identifying information.
45  *
46  * For example, an AIM account (tekjew) and a .Mac account (tekjew@mac.com, entered only as tekjew) may appear identical
47  * without service information (tekjew). The explicit formatted UID is therefore tekjew@mac.com
48  */
49 - (NSString *)explicitFormattedUID
51         return [NSString stringWithUTF8String:[self purpleAccountName]];
54 @end